博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
base64图片上传,推到又拍云
阅读量:5082 次
发布时间:2019-06-13

本文共 3771 字,大约阅读时间需要 12 分钟。

Html部分

 

Js部分

//单文件上传    function previewFile(){        var file=document.getElementById('tou').files[0];        var reader=new FileReader();        reader.addEventListener('load',function(){            $.ajax({                type:'post',                url:'http://api.xxx.cn/api/up',                datatype:'josn',                data:{img:reader.result},                success:function(response){                    document.getElementById('nvhai').setAttribute('src','http://img.xxx.cn/'+response);                }            });            document.getElementById('nvhai').setAttribute('src',reader.result);        },false);        reader.readAsDataURL(file);    } function MorepreviewFile(){        var file=document.getElementById('moretou').files;        if(file.length>8){            $('.mo').html('选择的图片不能超过8张,请重新选择');            $('.mo').fadeIn('fast');            setTimeout(function(){                $('.mo').fadeOut('fast');            },1500)        }else{            for(var i=0;i
"); } } } }

 

Php部分

/**     * 上传图片并且又拍云 2017/3/3     * @param:img resource图片的base64代码,包含头文件     * @Return: array 是否上传成功呢     * @Author: xiaohu mr_xdh@qq.com     */    public function up()    {       $pic = I('img');       //解码上传       $pic_url =  pic_decode_base64($pic,'./upload/');       //推到又拍云       $qrcode = substr($pic_url, 1);       $upun = upimg($qrcode);       $this->ajaxreturn($upun);    }

函数库

//=============================================图片上传中心=base64/又拍云================================================    /**TODO 上传图片base64     * 上传的base64图片进行转换并上传     * @param  resource 图片的base64代码,包含头文件     * @param  string 上传的路径     * @return 图片地址     * @author 小虎 mr_xdh@qq.com     */    function pic_decode_base64($file,$path='./upload/')    {        // 获取图片        list($type, $data) = explode(',', $file);        // 判断图片类型        if(strstr($type,'image/jpeg')!=''){            $ext = '.jpg';        }elseif(strstr($type,'image/gif')!=''){            $ext = '.gif';        }elseif(strstr($type,'image/png')!=''){            $ext = '.png';        }        // 生成的文件名        $photo = $path.uniqid().$ext;        // 生成文件        $Temp = base64_decode($data);        $temp = gzinflate($Temp);        file_put_contents($photo, $Temp, true);        return $photo;    }    /**TODO 上传图片到又拍云     * 上传图片到又拍云     * @param  string $img     * @return string     */    function upimg($img)    {        set_time_limit(0);        ini_set('memory_limit', '512M');        $process = curl_init('http://v0.api.upyun.com/XXX/upload/' .date('Ymd'). $img);        // 上传操作        curl_setopt($process, CURLOPT_PUT, 1);        curl_setopt($process, CURLOPT_USERPWD, "XXX");        curl_setopt($process, CURLOPT_HEADER, 0);        curl_setopt($process, CURLOPT_TIMEOUT, 60);        // 本地待上传的图片文件        $local_file_path = '.' . $img;        $datas = fopen($local_file_path, 'r');        fseek($datas, 0, SEEK_END);        $file_length = ftell($datas);        fseek($datas, 0);        // 设置待上传图片的内容        curl_setopt($process, CURLOPT_INFILE, $datas);        // 设置待上传图片的长度        curl_setopt($process, CURLOPT_INFILESIZE, $file_length);        curl_setopt($process, CURLOPT_HTTPHEADER, array(            //'x-gmkerl-type: fix_width',            // 'x-gmkerl-value: 200',            'x-gmkerl-unsharp: true',            'Mkdir:true',        ));        curl_exec($process);        //  $info=curl_getinfo($process);        curl_close($process);        fclose($datas);        //删除图片        @unlink ('./'.$img);        return $img = '/upload/' .date('Ymd').$img;    }//=============================================END=====================================================================

 

转载于:https://www.cnblogs.com/henry-xu/p/6849615.html

你可能感兴趣的文章
IO流写出到本地 D盘demoIO.txt 文本中
查看>>
Windows10 下Apache服务器搭建
查看>>
HDU 5458 Stability
查看>>
左手坐标系和右手坐标系
查看>>
solr后台操作Documents之增删改查
查看>>
http://yusi123.com/
查看>>
文件文本的操作
查看>>
Ubuntu linux下gcc版本切换
查看>>
记一次Web服务的性能调优
查看>>
jQuery.form.js使用
查看>>
(转)linux sort,uniq,cut,wc命令详解
查看>>
关于ExecuteNonQuery执行的返回值(SQL语句、存储过程)
查看>>
UVa540 Team Queue(队列queue)
查看>>
mysql数据增删改查
查看>>
shell中下载最新版本或指定版本的办法(Dockerfile 中通用)
查看>>
极客时间-左耳听风-程序员攻略-分布式架构工程设计
查看>>
akka之种子节点
查看>>
不知道做什么时
查看>>
matlab 给某一列乘上一个系数
查看>>
密码学笔记——培根密码
查看>>